if 條件1:
做某件事
elif 條件2:
做其他事
else:
所有條件都不符合時做的事
elif 的用途是什麼?
else 的用途是什麼?
else 不用寫條件,代表「前面所有的 if 和 elif 都不符合時,就執行這裡的內容」。
else 最多只能有一個,通常放在最後。
weather = "下雪"
if weather == "晴天":
print("去公園玩")
elif weather == "下雨":
print("在家看電影")
else:
print("穿暖一點喔!")
weather 是「下雪」,不符合前兩個條件,會印出「穿暖一點喔!」
補充
一個等號(=)與兩個等號(==)的差別:
一個等號用來把某個值指定(存進去)給變數。
功能:指定(賦值)
example:
age = 18
意思是:「我把 18 這個數字存進去 age 這個變數裡。」
age 現在代表的是 18。
兩個等號是條件判斷裡會用到的符號(常常出現在 if、elif 裡)。
功能:比較(判斷)
用來問:「兩個東西相不相等?」
example:
age = 18
if age == 18:
print("你已經成年了!")
這邊的 == 是在比較:age 的值是不是等於 18?
如果是,就印出「你已經成年了!」
符號 | 意思 | 用在什麼地方? |
---|---|---|
= |
指定 | 把值存進變數 |
== |
判斷相等 | if 條件、比較兩個值 |
score = 85
if score >= 90:
print("excellent")
elif score >= 60:
print("pass")
else:
print("failed")
條件可以是任何布林值
除了比較數值外,也能檢查變數是否為空、是否為 True:
name = input("Enter your name:")
if name:
print(f"Hello,{name}!")
else:
print("Please enter your name!")
空字串會被視為 False
score = int(input("Enter your score:"))
if score >= 90:
print("grade:A")
elif score >= 80:
print("grade:B")
elif score >= 70:
print("grade:C")
elif score >= 60:
print("grade:D")
else:
print("grade:F")
在撰寫條件可以是任何布林值時,我想確認input的型別確實都是以字串辨識,所以輸入了數字進去試試看。在我測試的時候發現了一件讓我非常困惑的事情:如果我輸入數字「4」或「12」,結果只會印出「4」或「12」,既不會像輸入字串那樣出現"Hello"的字串,更不會像直接輸入enter出現的"Please enter your name"。之後更是打了名字也不會印出正確的輸出。為了確認還執行
print("資料型別:", type(name))
來確認輸入數字輸出的型別。最後才知道,原來是我沒有重新執行程式。每次執行 .py 檔後,程式其實就會結束了。一開始我還以為可以一直在終端機輸入資料與程式互動,結果卻發現輸入的文字被 PowerShell 認成指令,跳出錯誤訊息。
這讓我真正理解「程式執行的開始與結束」概念,也能分辨自己目前是在 Python 程式裡,還是在終端機中。
明天我會學習 for 與 while 迴圈,讓程式可以自動重複執行某些動作,開始建立「有節奏感」的運算邏輯!